#ifndef __behavior_h__
#define __behavior_h__

/* Forward Declarations */

struct ENUMDESC;

/* header files for imported files */
#include "element.h"

/* header files for imported files */
#include "document.h"

#ifndef __IElementBehavior_FWD_DEFINED__
#define __IElementBehavior_FWD_DEFINED__
typedef interface IElementBehavior IElementBehavior;
#endif     /* __IElementBehavior_FWD_DEFINED__ */

#ifndef __IElementBehaviorSite_FWD_DEFINED__
#define __IElementBehaviorSite_FWD_DEFINED__
typedef interface IElementBehaviorSite IElementBehaviorSite;
#endif     /* __IElementBehaviorSite_FWD_DEFINED__ */

#ifndef __IHTMLElementDefaults_FWD_DEFINED__
#define __IHTMLElementDefaults_FWD_DEFINED__
typedef interface IHTMLElementDefaults IHTMLElementDefaults;
#endif     /* __IHTMLElementDefaults_FWD_DEFINED__ */

#ifndef __IElementBehaviorFactory_FWD_DEFINED__
#define __IElementBehaviorFactory_FWD_DEFINED__
typedef interface IElementBehaviorFactory IElementBehaviorFactory;
#endif     /* __IElementBehaviorFactory_FWD_DEFINED__ */

#ifndef __IElementNamespace_FWD_DEFINED__
#define __IElementNamespace_FWD_DEFINED__
typedef interface IElementNamespace IElementNamespace;
#endif     /* __IElementNamespace_FWD_DEFINED__ */

#ifndef __IElementNamespaceTable_FWD_DEFINED__
#define __IElementNamespaceTable_FWD_DEFINED__
typedef interface IElementNamespaceTable IElementNamespaceTable;
#endif     /* __IElementNamespaceTable_FWD_DEFINED__ */

#ifndef __IElementNamespaceFactory_FWD_DEFINED__
#define __IElementNamespaceFactory_FWD_DEFINED__
typedef interface IElementNamespaceFactory IElementNamespaceFactory;
#endif     /* __IElementNamespaceFactory_FWD_DEFINED__ */

#ifndef __IElementNamespaceFactory2_FWD_DEFINED__
#define __IElementNamespaceFactory2_FWD_DEFINED__
typedef interface IElementNamespaceFactory2 IElementNamespaceFactory2;
#endif     /* __IElementNamespaceFactory2_FWD_DEFINED__ */

#ifndef __IElementNamespaceFactoryCallback_FWD_DEFINED__
#define __IElementNamespaceFactoryCallback_FWD_DEFINED__
typedef interface IElementNamespaceFactoryCallback IElementNamespaceFactoryCallback;
#endif     /* __IElementNamespaceFactoryCallback_FWD_DEFINED__ */

#ifndef __IElementBehavior_FWD_DEFINED__
#define __IElementBehavior_FWD_DEFINED__
typedef interface IElementBehavior IElementBehavior;
#endif     /* __IElementBehavior_FWD_DEFINED__ */

#ifndef __IElementBehaviorSite_FWD_DEFINED__
#define __IElementBehaviorSite_FWD_DEFINED__
typedef interface IElementBehaviorSite IElementBehaviorSite;
#endif     /* __IElementBehaviorSite_FWD_DEFINED__ */

#ifndef __IElementBehaviorSiteOM_FWD_DEFINED__
#define __IElementBehaviorSiteOM_FWD_DEFINED__
typedef interface IElementBehaviorSiteOM IElementBehaviorSiteOM;
#endif     /* __IElementBehaviorSiteOM_FWD_DEFINED__ */

#ifndef __IElementBehaviorSiteOM2_FWD_DEFINED__
#define __IElementBehaviorSiteOM2_FWD_DEFINED__
typedef interface IElementBehaviorSiteOM2 IElementBehaviorSiteOM2;
#endif     /* __IElementBehaviorSiteOM2_FWD_DEFINED__ */

#ifndef __IElementBehaviorRender_FWD_DEFINED__
#define __IElementBehaviorRender_FWD_DEFINED__
typedef interface IElementBehaviorRender IElementBehaviorRender;
#endif     /* __IElementBehaviorRender_FWD_DEFINED__ */

#ifndef __IElementBehaviorSiteRender_FWD_DEFINED__
#define __IElementBehaviorSiteRender_FWD_DEFINED__
typedef interface IElementBehaviorSiteRender IElementBehaviorSiteRender;
#endif     /* __IElementBehaviorSiteRender_FWD_DEFINED__ */

#ifndef __IElementBehaviorCategory_FWD_DEFINED__
#define __IElementBehaviorCategory_FWD_DEFINED__
typedef interface IElementBehaviorCategory IElementBehaviorCategory;
#endif     /* __IElementBehaviorCategory_FWD_DEFINED__ */

#ifndef __IElementBehaviorSiteCategory_FWD_DEFINED__
#define __IElementBehaviorSiteCategory_FWD_DEFINED__
typedef interface IElementBehaviorSiteCategory IElementBehaviorSiteCategory;
#endif     /* __IElementBehaviorSiteCategory_FWD_DEFINED__ */

#ifndef __IElementBehaviorSubmit_FWD_DEFINED__
#define __IElementBehaviorSubmit_FWD_DEFINED__
typedef interface IElementBehaviorSubmit IElementBehaviorSubmit;
#endif     /* __IElementBehaviorSubmit_FWD_DEFINED__ */

#ifndef __IElementBehaviorFocus_FWD_DEFINED__
#define __IElementBehaviorFocus_FWD_DEFINED__
typedef interface IElementBehaviorFocus IElementBehaviorFocus;
#endif     /* __IElementBehaviorFocus_FWD_DEFINED__ */

#ifndef __IElementBehaviorLayout_FWD_DEFINED__
#define __IElementBehaviorLayout_FWD_DEFINED__
typedef interface IElementBehaviorLayout IElementBehaviorLayout;
#endif     /* __IElementBehaviorLayout_FWD_DEFINED__ */

#ifndef __IElementBehaviorLayout2_FWD_DEFINED__
#define __IElementBehaviorLayout2_FWD_DEFINED__
typedef interface IElementBehaviorLayout2 IElementBehaviorLayout2;
#endif     /* __IElementBehaviorLayout2_FWD_DEFINED__ */

#ifndef __IElementBehaviorSiteLayout_FWD_DEFINED__
#define __IElementBehaviorSiteLayout_FWD_DEFINED__
typedef interface IElementBehaviorSiteLayout IElementBehaviorSiteLayout;
#endif     /* __IElementBehaviorSiteLayout_FWD_DEFINED__ */

#ifndef __IElementBehaviorSiteLayout2_FWD_DEFINED__
#define __IElementBehaviorSiteLayout2_FWD_DEFINED__
typedef interface IElementBehaviorSiteLayout2 IElementBehaviorSiteLayout2;
#endif     /* __IElementBehaviorSiteLayout2_FWD_DEFINED__ */

#ifndef __IHostBehaviorInit_FWD_DEFINED__
#define __IHostBehaviorInit_FWD_DEFINED__
typedef interface IHostBehaviorInit IHostBehaviorInit;
#endif     /* __IHostBehaviorInit_FWD_DEFINED__ */
typedef enum _BEHAVIOR_EVENT
{
    BEHAVIOREVENT_FIRST = 0,
    BEHAVIOREVENT_CONTENTREADY = 0,
    BEHAVIOREVENT_DOCUMENTREADY = 1,
    BEHAVIOREVENT_APPLYSTYLE = 2,
    BEHAVIOREVENT_DOCUMENTCONTEXTCHANGE = 3,
    BEHAVIOREVENT_CONTENTSAVE = 4,
    BEHAVIOREVENT_LAST = 4,
    BEHAVIOR_EVENT_Max = 2147483647L
} BEHAVIOR_EVENT;


EXTERN_C const ENUMDESC s_enumdescBEHAVIOR_EVENT;

typedef enum _BEHAVIOR_EVENT_FLAGS
{
    BEHAVIOREVENTFLAGS_BUBBLE = 1,
    BEHAVIOREVENTFLAGS_STANDARDADDITIVE = 2,
    BEHAVIOR_EVENT_FLAGS_Max = 2147483647L
} BEHAVIOR_EVENT_FLAGS;


EXTERN_C const ENUMDESC s_enumdescBEHAVIOR_EVENT_FLAGS;

typedef enum _BEHAVIOR_RENDER_INFO
{
    BEHAVIORRENDERINFO_BEFOREBACKGROUND = 0x000001,
    BEHAVIORRENDERINFO_AFTERBACKGROUND = 0x000002,
    BEHAVIORRENDERINFO_BEFORECONTENT = 0x000004,
    BEHAVIORRENDERINFO_AFTERCONTENT = 0x000008,
    BEHAVIORRENDERINFO_AFTERFOREGROUND = 0x000020,
    BEHAVIORRENDERINFO_ABOVECONTENT = 0x000028,
    BEHAVIORRENDERINFO_ALLLAYERS = 0x0000FF,
    BEHAVIORRENDERINFO_DISABLEBACKGROUND = 0x000100,
    BEHAVIORRENDERINFO_DISABLENEGATIVEZ = 0x000200,
    BEHAVIORRENDERINFO_DISABLECONTENT = 0x000400,
    BEHAVIORRENDERINFO_DISABLEPOSITIVEZ = 0x000800,
    BEHAVIORRENDERINFO_DISABLEALLLAYERS = 0x000F00,
    BEHAVIORRENDERINFO_HITTESTING = 0x001000,
    BEHAVIORRENDERINFO_SURFACE = 0x100000,
    BEHAVIORRENDERINFO_3DSURFACE = 0x200000,
    BEHAVIOR_RENDER_INFO_Max = 2147483647L
} BEHAVIOR_RENDER_INFO;


EXTERN_C const ENUMDESC s_enumdescBEHAVIOR_RENDER_INFO;

typedef enum _BEHAVIOR_RELATION
{
    BEHAVIOR_FIRSTRELATION = 0,
    BEHAVIOR_SAMEELEMENT = 0,
    BEHAVIOR_PARENT = 1,
    BEHAVIOR_CHILD = 2,
    BEHAVIOR_SIBLING = 3,
    BEHAVIOR_LASTRELATION = 3,
    BEHAVIOR_RELATION_Max = 2147483647L
} BEHAVIOR_RELATION;


EXTERN_C const ENUMDESC s_enumdescBEHAVIOR_RELATION;

typedef enum _BEHAVIOR_LAYOUT_INFO
{
    BEHAVIORLAYOUTINFO_FULLDELEGATION = 0x01,
    BEHAVIORLAYOUTINFO_MODIFYNATURAL = 0x02,
    BEHAVIORLAYOUTINFO_MAPSIZE = 0x04,
    BEHAVIOR_LAYOUT_INFO_Max = 2147483647L
} BEHAVIOR_LAYOUT_INFO;


EXTERN_C const ENUMDESC s_enumdescBEHAVIOR_LAYOUT_INFO;

typedef enum _BEHAVIOR_LAYOUT_MODE
{
    BEHAVIORLAYOUTMODE_NATURAL = 0x0001,
    BEHAVIORLAYOUTMODE_MINWIDTH = 0x0002,
    BEHAVIORLAYOUTMODE_MAXWIDTH = 0x0004,
    BEHAVIORLAYOUTMODE_MEDIA_RESOLUTION = 0x4000,
    BEHAVIORLAYOUTMODE_FINAL_PERCENT = 0x8000,
    BEHAVIOR_LAYOUT_MODE_Max = 2147483647L
} BEHAVIOR_LAYOUT_MODE;


EXTERN_C const ENUMDESC s_enumdescBEHAVIOR_LAYOUT_MODE;

typedef enum _ELEMENTDESCRIPTOR_FLAGS
{
    ELEMENTDESCRIPTORFLAGS_LITERAL = 1,
    ELEMENTDESCRIPTORFLAGS_NESTED_LITERAL = 2,
    ELEMENTDESCRIPTOR_FLAGS_Max = 2147483647L
} ELEMENTDESCRIPTOR_FLAGS;


EXTERN_C const ENUMDESC s_enumdescELEMENTDESCRIPTOR_FLAGS;

typedef enum _ELEMENTNAMESPACE_FLAGS
{
    ELEMENTNAMESPACEFLAGS_ALLOWANYTAG = 0x1,
    ELEMENTNAMESPACEFLAGS_QUERYFORUNKNOWNTAGS = 0x2,
    ELEMENTNAMESPACE_FLAGS_Max = 2147483647L
} ELEMENTNAMESPACE_FLAGS;


EXTERN_C const ENUMDESC s_enumdescELEMENTNAMESPACE_FLAGS;


#ifndef __IElementBehaviorFactory_INTERFACE_DEFINED__

#define __IElementBehaviorFactory_INTERFACE_DEFINED__

EXTERN_C const IID IID_IElementBehaviorFactory;


MIDL_INTERFACE("3050f429-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorFactory : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE FindBehavior(
            /* [in] */ BSTR bstrBehavior,/* [in] */ BSTR bstrBehaviorUrl,/* [in] */ IElementBehaviorSite* pSite,/* [out] */ IElementBehavior** ppBehavior) = 0;

};

#endif     /* __IElementBehaviorFactory_INTERFACE_DEFINED__ */


#ifndef __IElementNamespace_INTERFACE_DEFINED__

#define __IElementNamespace_INTERFACE_DEFINED__

EXTERN_C const IID IID_IElementNamespace;


MIDL_INTERFACE("3050f671-98b5-11cf-bb82-00aa00bdce0b")
IElementNamespace : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE AddTag(
            /* [in] */ BSTR bstrTagName,/* [in] */ LONG lFlags) = 0;

};

#endif     /* __IElementNamespace_INTERFACE_DEFINED__ */


#ifndef __IElementNamespaceTable_INTERFACE_DEFINED__

#define __IElementNamespaceTable_INTERFACE_DEFINED__

EXTERN_C const IID IID_IElementNamespaceTable;


MIDL_INTERFACE("3050f670-98b5-11cf-bb82-00aa00bdce0b")
IElementNamespaceTable : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE AddNamespace(
            /* [in] */ BSTR bstrNamespace,/* [in] */ BSTR bstrUrn,/* [in] */ LONG lFlags,/* [in] */ VARIANT* pvarFactory) = 0;

};

#endif     /* __IElementNamespaceTable_INTERFACE_DEFINED__ */


#ifndef __IElementNamespaceFactory_INTERFACE_DEFINED__

#define __IElementNamespaceFactory_INTERFACE_DEFINED__

EXTERN_C const IID IID_IElementNamespaceFactory;


MIDL_INTERFACE("3050f672-98b5-11cf-bb82-00aa00bdce0b")
IElementNamespaceFactory : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE Create(
            /* [in] */ IElementNamespace* pNamespace) = 0;

};

#endif     /* __IElementNamespaceFactory_INTERFACE_DEFINED__ */


#ifndef __IElementNamespaceFactory2_INTERFACE_DEFINED__

#define __IElementNamespaceFactory2_INTERFACE_DEFINED__

EXTERN_C const IID IID_IElementNamespaceFactory2;


MIDL_INTERFACE("3050f805-98b5-11cf-bb82-00aa00bdce0b")
IElementNamespaceFactory2 : public IElementNamespaceFactory
{
public:
    virtual HRESULT STDMETHODCALLTYPE CreateWithImplementation(
            /* [in] */ IElementNamespace* pNamespace,/* [in] */ BSTR bstrImplementation) = 0;

};

#endif     /* __IElementNamespaceFactory2_INTERFACE_DEFINED__ */


#ifndef __IElementNamespaceFactoryCallback_INTERFACE_DEFINED__

#define __IElementNamespaceFactoryCallback_INTERFACE_DEFINED__

EXTERN_C const IID IID_IElementNamespaceFactoryCallback;


MIDL_INTERFACE("3050f7fd-98b5-11cf-bb82-00aa00bdce0b")
IElementNamespaceFactoryCallback : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE Resolve(
            /* [in] */ BSTR bstrNamespace,/* [in] */ BSTR bstrTagName,/* [in] */ BSTR bstrAttrs,/* [in] */ IElementNamespace* pNamespace) = 0;

};

#endif     /* __IElementNamespaceFactoryCallback_INTERFACE_DEFINED__ */


#ifndef __IElementBehavior_INTERFACE_DEFINED__

#define __IElementBehavior_INTERFACE_DEFINED__

EXTERN_C const IID IID_IElementBehavior;


MIDL_INTERFACE("3050f425-98b5-11cf-bb82-00aa00bdce0b")
IElementBehavior : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE Init(
            /* [in] */ IElementBehaviorSite* pBehaviorSite) = 0;

    virtual HRESULT STDMETHODCALLTYPE Notify(
            /* [in] */ LONG lEvent,/* [in, out] */ VARIANT* pVar) = 0;

    virtual HRESULT STDMETHODCALLTYPE Detach(
            ) = 0;

};

#endif     /* __IElementBehavior_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorSite_INTERFACE_DEFINED__

#define __IElementBehaviorSite_INTERFACE_DEFINED__

EXTERN_C const IID IID_IElementBehaviorSite;


MIDL_INTERFACE("3050f427-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorSite : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE GetElement(
            /* [out] */ IHTMLElement** ppElement) = 0;

    virtual HRESULT STDMETHODCALLTYPE RegisterNotification(
            /* [in] */ LONG lEvent) = 0;

};

#endif     /* __IElementBehaviorSite_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorSiteOM_INTERFACE_DEFINED__

#define __IElementBehaviorSiteOM_INTERFACE_DEFINED__

EXTERN_C const IID IID_IElementBehaviorSiteOM;


MIDL_INTERFACE("3050f489-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorSiteOM : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE RegisterEvent(
            /* [in] */ LPOLESTR pchEvent,/* [in] */ LONG lFlags,/* [out] */ LONG* plCookie) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetEventCookie(
            /* [in] */ LPOLESTR pchEvent,/* [out] */ LONG* plCookie) = 0;

    virtual HRESULT STDMETHODCALLTYPE FireEvent(
            /* [in] */ LONG lCookie,/* [in] */ IHTMLEventObj* pEventObject) = 0;

    virtual HRESULT STDMETHODCALLTYPE CreateEventObject(
            /* [out] */ IHTMLEventObj** ppEventObject) = 0;

    virtual HRESULT STDMETHODCALLTYPE RegisterName(
            /* [in] */ LPOLESTR pchName) = 0;

    virtual HRESULT STDMETHODCALLTYPE RegisterUrn(
            /* [in] */ LPOLESTR pchUrn) = 0;

};

#endif     /* __IElementBehaviorSiteOM_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorSiteOM2_INTERFACE_DEFINED__

#define __IElementBehaviorSiteOM2_INTERFACE_DEFINED__

EXTERN_C const IID IID_IElementBehaviorSiteOM2;


MIDL_INTERFACE("3050f659-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorSiteOM2 : public IElementBehaviorSiteOM
{
public:
    virtual HRESULT STDMETHODCALLTYPE GetDefaults(
            /* [out] */ IHTMLElementDefaults** ppDefaults) = 0;

};

#endif     /* __IElementBehaviorSiteOM2_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorRender_INTERFACE_DEFINED__

#define __IElementBehaviorRender_INTERFACE_DEFINED__

EXTERN_C const IID IID_IElementBehaviorRender;


MIDL_INTERFACE("3050f4aa-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorRender : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE Draw(
            /* [in] */ HDC hdc,/* [in] */ LONG lLayer,/* [in] */ RECT* pRect,/* [in] */ IUnknown* pReserved) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetRenderInfo(
            /* [out] */ LONG* plRenderInfo) = 0;

    virtual HRESULT STDMETHODCALLTYPE HitTestPoint(
            /* [in] */ POINT* pPoint,/* [in] */ IUnknown* pReserved,/* [out] */ BOOL* pbHit) = 0;

};

#endif     /* __IElementBehaviorRender_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorSiteRender_INTERFACE_DEFINED__

#define __IElementBehaviorSiteRender_INTERFACE_DEFINED__

EXTERN_C const IID IID_IElementBehaviorSiteRender;


MIDL_INTERFACE("3050f4a7-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorSiteRender : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE Invalidate(
            /* [in] */ RECT* pRect) = 0;

    virtual HRESULT STDMETHODCALLTYPE InvalidateRenderInfo(
            ) = 0;

    virtual HRESULT STDMETHODCALLTYPE InvalidateStyle(
            ) = 0;

};

#endif     /* __IElementBehaviorSiteRender_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorCategory_INTERFACE_DEFINED__

#define __IElementBehaviorCategory_INTERFACE_DEFINED__

EXTERN_C const IID IID_IElementBehaviorCategory;


MIDL_INTERFACE("3050f4ed-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorCategory : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE GetCategory(
            /* [out] */ LPOLESTR* ppchCategory) = 0;

};

#endif     /* __IElementBehaviorCategory_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorSiteCategory_INTERFACE_DEFINED__

#define __IElementBehaviorSiteCategory_INTERFACE_DEFINED__

EXTERN_C const IID IID_IElementBehaviorSiteCategory;


MIDL_INTERFACE("3050f4ee-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorSiteCategory : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE GetRelatedBehaviors(
            /* [in] */ LONG lDirection,/* [in] */ LPOLESTR pchCategory,/* [out] */ IEnumUnknown** ppEnumerator) = 0;

};

#endif     /* __IElementBehaviorSiteCategory_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorSubmit_INTERFACE_DEFINED__

#define __IElementBehaviorSubmit_INTERFACE_DEFINED__

EXTERN_C const IID IID_IElementBehaviorSubmit;


MIDL_INTERFACE("3050f646-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorSubmit : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE GetSubmitInfo(
            /* [in] */ IHTMLSubmitData* pSubmitData) = 0;

    virtual HRESULT STDMETHODCALLTYPE Reset(
            ) = 0;

};

#endif     /* __IElementBehaviorSubmit_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorFocus_INTERFACE_DEFINED__

#define __IElementBehaviorFocus_INTERFACE_DEFINED__

EXTERN_C const IID IID_IElementBehaviorFocus;


MIDL_INTERFACE("3050f6b6-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorFocus : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE GetFocusRect(
            /* [in] */ RECT* pRect) = 0;

};

#endif     /* __IElementBehaviorFocus_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorLayout_INTERFACE_DEFINED__

#define __IElementBehaviorLayout_INTERFACE_DEFINED__

EXTERN_C const IID IID_IElementBehaviorLayout;


MIDL_INTERFACE("3050f6ba-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorLayout : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE GetSize(
            /* [in] */ LONG dwFlags,/* [in] */ SIZE sizeContent,/* [in, out] */ POINT* pptTranslateBy,/* [in, out] */ POINT* pptTopLeft,/* [in, out] */ SIZE* psizeProposed) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetLayoutInfo(
            /* [out] */ LONG* plLayoutInfo) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetPosition(
            /* [in] */ LONG lFlags,/* [in, out] */ POINT* pptTopLeft) = 0;

    virtual HRESULT STDMETHODCALLTYPE MapSize(
            /* [in] */ SIZE* psizeIn,/* [out] */ RECT* prcOut) = 0;

};

#endif     /* __IElementBehaviorLayout_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorLayout2_INTERFACE_DEFINED__

#define __IElementBehaviorLayout2_INTERFACE_DEFINED__

EXTERN_C const IID IID_IElementBehaviorLayout2;


MIDL_INTERFACE("3050f846-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorLayout2 : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE GetTextDescent(
            /* [out] */ LONG* plDescent) = 0;

};

#endif     /* __IElementBehaviorLayout2_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorSiteLayout_INTERFACE_DEFINED__

#define __IElementBehaviorSiteLayout_INTERFACE_DEFINED__

EXTERN_C const IID IID_IElementBehaviorSiteLayout;


MIDL_INTERFACE("3050f6b7-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorSiteLayout : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE InvalidateLayoutInfo(
            ) = 0;

    virtual HRESULT STDMETHODCALLTYPE InvalidateSize(
            ) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetMediaResolution(
            /* [out] */ SIZE* psizeResolution) = 0;

};

#endif     /* __IElementBehaviorSiteLayout_INTERFACE_DEFINED__ */


#ifndef __IElementBehaviorSiteLayout2_INTERFACE_DEFINED__

#define __IElementBehaviorSiteLayout2_INTERFACE_DEFINED__

EXTERN_C const IID IID_IElementBehaviorSiteLayout2;


MIDL_INTERFACE("3050f847-98b5-11cf-bb82-00aa00bdce0b")
IElementBehaviorSiteLayout2 : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE GetFontInfo(
            /* [out] */ LOGFONTW* plf) = 0;

};

#endif     /* __IElementBehaviorSiteLayout2_INTERFACE_DEFINED__ */


#ifndef __IHostBehaviorInit_INTERFACE_DEFINED__

#define __IHostBehaviorInit_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHostBehaviorInit;


MIDL_INTERFACE("3050f842-98b5-11cf-bb82-00aa00bdce0b")
IHostBehaviorInit : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE PopulateNamespaceTable(
            ) = 0;

};

#endif     /* __IHostBehaviorInit_INTERFACE_DEFINED__ */



#endif /*__behavior_h__*/

